The demands on graphics processing systems have continued to increase with the development of graphics intensive programs that require large numbers of computations and processing of large amounts of graphics related data. The operation of a graphics processing system can be disrupted by, for example, an upstream application that sends commands and data to a graphics processing unit. Because processing of the commands and data is typically serialized, upstream portions of a processing flow, for example, can be stalled (doing no productive work) while downstream portions within the processing flow are completing computations and/or resource allocation. Consequently, the serialized processing flow described above can result in the inefficient use of resources and processing delays for the graphics processing system.
Accordingly, a need exists for improved methods and apparatus for processing within a graphics processing system.